package com.xbongbong.saas.model;

import com.xbongbong.paas.elasticsearch.pojo.dto.InsertDTO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.pro.domain.entity.UpdateDataEntity;
import com.xbongbong.saas.domain.entity.PaymentTaskUserEntity;
import com.xbongbong.saas.domain.entity.UserTeamEntity;
import com.xbongbong.sys.domain.entity.UserEntity;

import java.util.List;


/**
 * @author: 汪腾伟
 * @date: 2020/8/7
 * @desrcption: 回款计划用户接口层
 * @version:1.0
 */
public interface PaymentTaskUserModel extends IModel<UserTeamEntity> {

    /**
     * 查询出用户信息
     *
     * @param planIdList
     * @return
     */
    List<PaymentTaskUserEntity> getUserList(List<Long> planIdList);

    /**
     * 批量保存回款计划
     *
     * @param paymentTaskUserEntities
     */
    void insertBatch(List<PaymentTaskUserEntity> paymentTaskUserEntities) throws XbbException;

    /**
     * 批量插入回款计划用户，用于资金三期
     *
     * @param paymentTaskUserEntityList
     * @return
     */
    void insertBatchIncludId(List<PaymentTaskUserEntity> paymentTaskUserEntityList) throws XbbException;

    /**
     * 无差别更新回款计划执行者表
     *
     * @param paymentTaskUserUpdateEntities
     * @return
     */
    void updateAll(List<PaymentTaskUserEntity> paymentTaskUserUpdateEntities) throws XbbException;

    /**
     * 删除回款计划执行者信息
     *
     * @param dataIdList 回款计划执行者表中得id
     * @param corpid 公司id
     * @return
     */
    Integer deleteBatch(List<Long> dataIdList, String corpid) throws XbbException;
}
